﻿using NewsMine.FeedRepository;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using NewsMine.DomainObjects;
using System.Collections.Generic;
using Db4objects.Db4o;

namespace FeedRepositoryTest
{
    
    
    /// <summary>
    ///This is a test class for WebSiteManagerTest and is intended
    ///to contain all WebSiteManagerTest Unit Tests
    ///</summary>
    [TestClass()]
    public class WebSiteManagerTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for WebSiteManager Constructor
        ///</summary>
        [TestMethod()]
        public void WebSiteManagerConstructorTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager();
            Assert.IsNotNull(target);
        }

        /// <summary>
        ///A test for AddWebMenuItem
        ///</summary>
        [TestMethod()]
        public void AddWebMenuItemTest()
        {

           

            DB4oWebSiteManager target = new DB4oWebSiteManager(); 
            WebSiteMenu webSiteMenu = null; 
            WebSiteMenu expected = null; 
            WebSiteMenu actual;
            actual = target.AddWebMenuItem(webSiteMenu);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for AddWebSiteInfo
        ///</summary>
        [TestMethod()]
        public void AddWebSiteInfoTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            WebSiteInfo webSiteInfo = new WebSiteInfo
            {
                Name = "Eenadu",
                Domain = "Eenadu.net",
                Language = "Telugu"
            };
          
            WebSiteInfo actual;

            actual = target.AddWebSiteInfo(webSiteInfo);

            WebSiteInfo expectedInfo = target.GetWebSiteByID(actual.ID);

            Assert.AreEqual(actual.ID, expectedInfo.ID);
            Assert.AreEqual(actual.Name, expectedInfo.Name);
            Assert.AreEqual(actual.Domain, expectedInfo.Domain);
        }

        /// <summary>
        ///A test for GetAllAdultWebSites
        ///</summary>
        [TestMethod()]
        public void GetAllAdultWebSitesTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetAllAdultWebSites();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetAllInactiveWebsites
        ///</summary>
        [TestMethod()]
        public void GetAllInactiveWebsitesTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetAllInactiveWebsites();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetMenuItemById
        ///</summary>
        [TestMethod()]
        public void GetMenuItemByIdTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long webSiteMenuID = 0; // TODO: Initialize to an appropriate value
            List<WebSiteMenu> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteMenu> actual;
            actual = target.GetMenuItemById(webSiteMenuID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetMenuListByWebSite
        ///</summary>
        [TestMethod()]
        public void GetMenuListByWebSiteTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            WebSiteInfo websiteInfo = null; // TODO: Initialize to an appropriate value
            List<WebSiteMenu> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteMenu> actual;
            actual = target.GetMenuListByWebSite(websiteInfo);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetRelatedWebSites
        ///</summary>
        [TestMethod()]
        public void GetRelatedWebSitesTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            WebSiteInfo websiteInfo = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetRelatedWebSites(websiteInfo);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSiteByID
        ///</summary>
        [TestMethod()]
        public void GetWebSiteByIDTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long id = 0; // TODO: Initialize to an appropriate value
            WebSiteInfo expected = null; // TODO: Initialize to an appropriate value
            WebSiteInfo actual;
            actual = target.GetWebSiteByID(id);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByAuthor
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByAuthorTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            AuthorInfo author = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByAuthor(author);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByAuthorID
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByAuthorIDTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long authorID = 0; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByAuthorID(authorID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByCategory
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByCategoryTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            Category category = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByCategory(category);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByCategoryID
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByCategoryIDTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long categoryId = 0; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByCategoryID(categoryId);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByGeoLocation
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByGeoLocationTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            GeoLocation location = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByGeoLocation(location);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByGeoLocationID
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByGeoLocationIDTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long locationID = 0; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByGeoLocationID(locationID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByLanguage
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByLanguageTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            Language language = null; // TODO: Initialize to an appropriate value
            WebSiteInfo expected = null; // TODO: Initialize to an appropriate value
            WebSiteInfo actual;
            actual = target.GetWebSitesByLanguage(language);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesByLanguageID
        ///</summary>
        [TestMethod()]
        public void GetWebSitesByLanguageIDTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            long languageId = 0; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesByLanguageID(languageId);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for GetWebSitesForUser
        ///</summary>
        [TestMethod()]
        public void GetWebSitesForUserTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            UserInfo userInfo = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.GetWebSitesForUser(userInfo);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SaveWebSiteInfo
        ///</summary>
        [TestMethod()]
        public void SaveWebSiteInfoTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            WebSiteInfo webSiteInfo = null; // TODO: Initialize to an appropriate value
            bool expected = false; // TODO: Initialize to an appropriate value
            bool actual;
            actual = target.SaveWebSiteInfo(webSiteInfo);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SaveWebSiteMenu
        ///</summary>
        [TestMethod()]
        public void SaveWebSiteMenuTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            WebSiteMenu websiteMenu = null; // TODO: Initialize to an appropriate value
            bool expected = false; // TODO: Initialize to an appropriate value
            bool actual;
            actual = target.SaveWebSiteMenu(websiteMenu);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

        /// <summary>
        ///A test for SearchWebSitesByName
        ///</summary>
        [TestMethod()]
        public void SearchWebSitesByNameTest()
        {
            DB4oWebSiteManager target = new DB4oWebSiteManager(); // TODO: Initialize to an appropriate value
            string name = string.Empty; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> expected = null; // TODO: Initialize to an appropriate value
            List<WebSiteInfo> actual;
            actual = target.SearchWebSitesByName(name);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
    }
}
